package cn.ac.iscas.domain.response.middleplatform;

import java.util.List;
import java.util.Map;

/**
 * @author lirenshen
 * @version 1.0
 * @date 2022/3/8 9:59
 * @since jdk11
 * 表信息
 */

public class MetaTableDTO extends MetaTable {

    //@ApiModelProperty(value = "id")
    private Integer id;

    //@ApiModelProperty(value = "所属层级，ods、dwd、dws、ads")
    private String tableLevel;

    //@ApiModelProperty(value = "所属数据源")
    private String datasourceName;

    //@ApiModelProperty(value = "数据源类型")
    private String datasourceType;

    //@ApiModelProperty("不同数据库的扩展字段")
    private Map<String, Object> extensions;

    //@ApiModelProperty(value = "父类的不同数据库的扩展字段，隐藏掉", hidden = true)
    private List<MetaColumn> columns;

    //@ApiModelProperty(value = "不同数据库的扩展字段")
    protected List<MetaColumnDTO> metaColumns;

    //@ApiModelProperty(value = "表的别名")
    private String tableAlias;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTableLevel() {
        return tableLevel;
    }

    public void setTableLevel(String tableLevel) {
        this.tableLevel = tableLevel;
    }

    public String getDatasourceName() {
        return datasourceName;
    }

    public void setDatasourceName(String datasourceName) {
        this.datasourceName = datasourceName;
    }

    public String getDatasourceType() {
        return datasourceType;
    }

    public void setDatasourceType(String datasourceType) {
        this.datasourceType = datasourceType;
    }

    public Map<String, Object> getExtensions() {
        return extensions;
    }

    public void setExtensions(Map<String, Object> extensions) {
        this.extensions = extensions;
    }

    @Override
    public List<MetaColumn> getColumns() {
        return columns;
    }

    @Override
    public void setColumns(List<MetaColumn> columns) {
        this.columns = columns;
    }

    public List<MetaColumnDTO> getMetaColumns() {
        return metaColumns;
    }

    public void setMetaColumns(List<MetaColumnDTO> metaColumns) {
        this.metaColumns = metaColumns;
    }

    public String getTableAlias() {
        return tableAlias;
    }

    public void setTableAlias(String tableAlias) {
        this.tableAlias = tableAlias;
    }
}
